{$CLEO .cm}
0110: clear_player $PLAYER_CHAR wanted_level
08E7: disable_entrance_markers 1

$onmission = 2
0860: link_actor $PLAYER_ACTOR to_interior 0
SELECT_INTERIOR 0
model.Load(#CC_TRAINF)
model.Load(#CC_TRAINR)
model.Load(#VC_STALLION)
model.Load(#AT_AAP1)
model.Load(#AT_AAP2)
model.Load(#AT_AAP3)
     
model.Load(#LC_SENTINEL)
model.Load(#VC_STALLION)
model.Load(#LC_BANSHEE)
model.Load(#LC_BOBCAT)
model.Load(#VC_STINGER)
model.Load(#STAFFORD)
model.Load(#lcs_ak47)
model.Load(#LCS_TEC9)
model.Load(#LCS_UZI)
model.Load(#LCS_CHROMEGUN)
model.Load(#LC_COLT45)
model.Load(#LCS_LASER)
model.Load(#LCS_M4)
model.Load(#lcs_taxi_d)
model.Load(#LC_TAXI)


model.Load(#VC_SHRUB2)
model.Load(#VC_SHRUB)
model.Load(#LC_PONY)
model.Load(#LC_PONY)

model.Load(#CAMERA)
model.Load(#UG_HK416)
model.Load(#UG_MP40)

model.Load(#LCS_AK47)
model.Load(#WMYBMX)
model.Load(#wbdyg2)
model.Load(#omyst)
model.Load(#LC_TRAINF)
model.Load(#LC_TRAINR)
model.Load(#MICRO_UZI)
model.Load(#LC_SALVATORE)


model.Load(#HUNTLEY)


038B: load_requested_models
0ADF: add_dynamic_GXT_entry "_photo" text "Photos Taken"
0ADF: add_dynamic_GXT_entry "_ckpt" text "Mission Checkpoint"

const
SAINT1 = 1@
SAINT2 = 2@
SAINT3 = 3@
SAINT4 = 4@
players_Van_MARKER =  29@
car_black_vanX = 12@
LCS_M4 = 182
LCS_Shotgun = 171
LCS_uzi = 196
LCS_ak47 = 163
snipeR_laser = 181
UG_MP40 = 263
BOBBY_ACTOR = 21@
JIMMY_ACTOR = 22@
JACK_ACTOR = 23@
EL_TRAIN = 36@
EL_TRAIN_SUB = 37@
UG_HK416 = 250
checkpoint_flag_X = 50@
end
0ACB: show_styled_text "Spying on bobby" time 3000 style 2
//checkpoint_flag_X = 0
0395: clear_area 1 at 9661.7480 8069.3020 50.3570 radius 60.0
06DB: destroy_all_trains 
06D7: enable_train_traffic 0 
//jump @LAST_CHECKPOINT

//cutscene
06DB: destroy_all_trains

fade 0 800
wait 800
fade 1 800

if
checkpoint_flag_X == 1
then
//04F7: status_text $PHOTO_BOBBY type 0 line 1 GXT '_photo' // global_variable  // Score

jump @CHECKPOINT_2_DOWNTOWN
end
0707: start_scene_skip_to @end

015F: set_camera_position 9705.7620 8064.5640 55.7555 rotation 0.0 0.0 0.0
0160: set_camera_point_at 9709.1500 8071.6120 55.7378 switchstyle 2
00A1: put_actor $PLAYER_ACTOR at 9708.1350 8067.0880 55.7378
0173: set_actor $PLAYER_ACTOR Z_angle_to 350.0
939@ = actor.Create(civmale,#LC_SALVATORE,9709.1500 ,8071.6120 ,55.7378 )
0173: set_actor 939@ Z_angle_to 177.0
01B4: set_player $PLAYER_CHAR can_move 0
02A3: enable_widescreen 1
0ACD: show_text_highpriority "So the plan is; You have find the target location in order to get chip code." time 99999
wait 5000
00BE: text_clear_all
0ACD: show_text_highpriority "All you have to do is to take a photo of the target named Bobby." time 99999
wait 4000
00BE: text_clear_all
0ACD: show_text_highpriority "...and" time 99999
wait 3000
00BE: text_clear_all
0ACD: show_text_highpriority "Getting this computer really required his face ID so we can look into it." time 99999
wait 5000
00BE: text_clear_all
0ACD: show_text_highpriority "Here. Take the sniper laser and the camera, but don't shoot him until he reach the location." time 99999
wait 5000
00BE: text_clear_all
0ACD: show_text_highpriority "Good luck." time 99999
wait 2000
:end
00BE: text_clear_all
0701: end_scene_skip


fade 0 800
wait 800
fade 1 800
01B4: set_player $PLAYER_CHAR can_move 1
02A3: enable_widescreen 0
camera.Restore_WithJumpCut()
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, camera, 30)
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, snipeR_laser, 30)
actor.DestroyInstantly(939@)
jump  @begin


//875C:   marker players_Van_MARKER enabled
:check
if or
0ADC:   test_cheat "exit"
wasted_or_busted
then
:1
wait 3
0ACB: show_styled_text "~r~mission failed!" time 1000 style 1

jump @fail 
end
if
car.Wrecked(car_black_vanX)
then

    0ACD: show_text_lowpriority "~r~You destroy the van!" time 3000
wait 5
jump @1
end

return

:get_van
if
 075C:   marker players_Van_MARKER enabled
then
    
    if
    actor.InCar($PLAYER_ACTOR,car_black_vanX)
    then
    018B: set_marker players_Van_MARKER radar_mode 4
    
    else
    // text_clear_all
     07E0: set_marker players_Van_MARKER type_to 1
    0ACD: show_text_lowpriority "Get back in the ~b~van." time 5
    018B: set_marker players_Van_MARKER radar_mode 3
    
    end
    if
   8205:   not actor $PLAYER_ACTOR near_car car_black_vanX radius 65.0 65.0 65.0 flag 0
 
    then
    
        0ACD: show_text_lowpriority "~r~You abanadoned the van!" time 3000

 wait 6   
    jump @1
    end
end
return



:begin

/////////03C9:   car car_black_vanX damaged
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at   9697.6470 8056.4320 55.5776
actor.Angle($PLAYER_ACTOR) =  90.0
00A5: car_black_vanX = create_car #LC_PONY at 9664.4590 8072.4220 50.4989
0229: set_car car_black_vanX primary_color_to 1 secondary_color_to 1
car.Health(car_black_vanX) = 3000
car.Angle(car_black_vanX) = 55.5869
marker.CreateAboveCar(players_Van_MARKER, car_black_vanX)
//marker.SetColor(players_Van_MARKER,2)
07E0: set_marker players_Van_MARKER type_to 1

////009A: 6@ = create_actor_pedtype 8 model #BALLAS2 at 0.0 0.0 0.0
0ACD: show_text_highpriority "Get in the van." time 3000




0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 1
0746: set_acquaintance 3 of_actors_pedtype 29 to_actors_pedtype 8

repeat 
wait 0 
gosub @check
until actor.InCar($PLAYER_ACTOR,car_black_vanX )


    018B: set_marker players_Van_MARKER radar_mode 4
0ACD: show_text_highpriority "Drive to ~y~Saint Mark's." time 3000
0167: 1000@ = create_marker_at  9573.0780 7754.1460 43.3825 color 4 flag 2
marker.SetIconSize(1000@, 3)
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 1

009A: BOBBY_ACTOR = create_actor_pedtype 29 model #WMYBMX at 9537.9510 7721.5100 44.1184
009A: jack_actor = create_actor_pedtype 29 model #omyst at 9538.5460 7719.0680 44.1184
009A: jimmy_actor = create_actor_pedtype 29 model #wbdyg2 at 9535.0610 7721.8650 44.1184
0639: AS_actor jimmy_actor rotate_to_actor jack_actor
0639: AS_actor BOBBY_ACTOR rotate_to_actor jack_actor
0639: AS_actor jack_actor rotate_to_actor jimmy_actor
05C8: AS_actor BOBBY_ACTOR look_around
ACTOR.Health(BOBBY_ACTOR) = 1000
ACTOR.Health(jack_actor) = 1000
ACTOR.Health(jimmy_actor) =  1000
ACTOR.GiveWeaponAndAmmo(jimmy_actor,UG_HK416,99999)
ACTOR.GiveWeaponAndAmmo(jack_actor,UG_MP40,99999)
ACTOR.GiveWeaponAndAmmo(BOBBY_ACTOR,microuzi,99999)
081A: set_actor BOBBY_ACTOR weapon_skill_to 2
07DD: set_actor BOBBY_ACTOR attack_rate 76 // previously known as temper_to
07DD: set_actor jack_actor attack_rate 76 // previously known as temper_to
07DD: set_actor jimmy_actor attack_rate 76 // previously known as temper_to
06AB: set_actor jack_actor all_weapons_hidden true
06AB: set_actor BOBBY_ACTOR all_weapons_hidden true
06AB: set_actor jimmy_actor all_weapons_hidden true


//$PHOTO_BOBBY = 0 
jump @K 

:WEAPON_BLOWNER
06AB: set_actor jack_actor all_weapons_hidden false
06AB: set_actor BOBBY_ACTOR all_weapons_hidden false
06AB: set_actor jimmy_actor all_weapons_hidden false
05E2: AS_actor jack_actor kill_actor $PLAYER_ACTOR
05E2: AS_actor jimmy_actor kill_actor $PLAYER_ACTOR
05E2: AS_actor BOBBY_ACTOR kill_actor $PLAYER_ACTOR
0961: set_actor BOBBY_ACTOR keep_tasks_after_cleanup 1
0961: set_actor jimmy_actor keep_tasks_after_cleanup 1
0961: set_actor jack_actor keep_tasks_after_cleanup 1


return 
     
:PHOTO_SHOT
{
if
056D:   actor BOBBY_ACTOR defined
then
        if 
        04C5:   actor BOBBY_ACTOR photographed

        then
        
                    $PHOTO_BOBBY += 1
             0ACD: show_text_lowpriority "Photo captured." time 1000

        {
            if
         0611:   actor BOBBY_ACTOR performing_animation "DAN_Down_A"
          then
            $PHOTO_BOBBY += 1
             0ACD: show_text_lowpriority "Photo captured." time 4005

          else
             0ACD: show_text_lowpriority "~r~Bobby didn't perform any weird moves." time 4005
          end     
        end
end  
}

return
:k
repeat
wait 0
gosub @get_van
gosub @check

until  01AF:   car car_black_vanX sphere 1 in_sphere 9573.0780 7754.1460 43.3825 radius 8.0 8.0 8.0  //01B0:   car car_black_vanX sphere 1 in_sphere 9586.2200 7794.6680 49.7139 radius 3.0 3.0 3.0 stopped
IF
075C:   marker 1000@ enabled
THEN
MARKER.Disable(1000@)
END
04ED: load_animation  "gangs"
04ED: load_animation  "DANCING"
04ED: load_animation  "DANCING"
//04F7: status_text $PHOTO_BOBBY type 0 line 1 GXT '_photo' // global_variable  // Score
//0ACA: show_text_box "Target: ~r~Bobby~n~~w~Age: 27~n~Favourite Things: ~y~Sports~w~~n~~h~He's wearing with black hat, grey shirt and yellow shorts."
           0ACD: show_text_lowpriority "Wait for the ~r~target~w~ to enter train." time 4000

 33@ = 0 
32@ = 0 
const
speaking_FLAGS = 319@
end
const
as_pack_talking = 120@
seT_jack_script = 121@
jimmy_TALKS_SCRIPT = 122@
bobby_TELLS_EM =  123@
EL_TRAIN_SUB2 = 99@
EL_TRAIN_SUB3 = 98@


end
speaking_FLAGS = 0 
while true

wait 0

gosub @check
gosub @boyz_talking
gosub @PHOTO_SHOT
if   or
actor.Dead(jimmy_actor)
actor.Dead(bobby_actor)
actor.Dead(jack_actor)
then
0ACD: show_text_lowpriority "~r~You kill one of them too early, wait until they get into the train then next later on." time 3000
 wait 4
jump @1
end        
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 5.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 5.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 5.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000
       gosub @WEAPON_BLOWNER
          wait 6
        
        jump @1
 end
        if
            056E:   car EL_TRAIN defined
            
     then
           if and
            not actor.Driving(jimmy_actor) 
            not actor.Driving(jack_actor) 
            not actor.Driving(bobby_actor) 
              01AF:   car EL_TRAIN sphere 0 in_sphere  9535.0610 7721.8650 44.1184 radius 4.0 4.0 4.0

           then
car.LockInCurrentPosition(EL_TRAIN,true)
 06DD: set_train EL_TRAIN speed 0.0
 06DC: set_train EL_TRAIN acc 0.0  
           end
            if or
            actor.Driving(jimmy_actor) 
            actor.Driving(jack_actor) 
            actor.Driving(bobby_actor) 
            then
            0430: put_actor bobby_actor into_car EL_TRAIN_SUB passenger_seat 0
            0430: put_actor jimmy_actor into_car EL_TRAIN_SUB2 passenger_seat 0
            0430: put_actor jack_actor into_car EL_TRAIN_SUB3 passenger_seat 0
            break
            end
                if  and
                056E:   car EL_TRAIN_SUB defined
                056E:   car EL_TRAIN_SUB2 defined
                056E:   car EL_TRAIN_SUB3 defined
                  01AF:   car EL_TRAIN sphere 0 in_sphere  9535.0610 7721.8650 44.1184 radius 4.0 4.0 4.0
                33@ > 15000
                then

                    
            0430: put_actor bobby_actor into_car EL_TRAIN_SUB passenger_seat 0
            0430: put_actor jimmy_actor into_car EL_TRAIN_SUB2 passenger_seat 0
            0430: put_actor jack_actor into_car EL_TRAIN_SUB3 passenger_seat 0
             
                    
                end
 

    end
         if  and
          speaking_FLAGS == 0 
         32@ > 3000
         then
         0618: assign_actor jack_actor to_AS_pack seT_jack_script
         32@ = 0
           speaking_FLAGS = 1
         end
          if  and
          speaking_FLAGS == 1 
         32@ > 3000
         then
         32@ = 0
          0618: assign_actor jimmy_actor to_AS_pack jimmy_TALKS_SCRIPT
          0618: assign_actor bobby_actor to_AS_pack bobby_TELLS_EM
            
           speaking_FLAGS = 2
         end
          if  and
          856E:  not car EL_TRAIN defined
          speaking_FLAGS == 2
         32@ > 3000
         then
        // 0ACD: show_text_lowpriority "Here comes the train, be ready to take a picture of Bobby." time 4000
        33@ = 0
         32@ = 0
06D8: EL_TRAIN = create_train_at 9485.9200 7470.7420 29.0492 type 18 direction 1
            09CF: set_train EL_TRAIN stop_at_stations 0
06DD: set_train EL_TRAIN speed 30.0
06DC: set_train EL_TRAIN acc 30.0
 078A: EL_TRAIN_SUB = get_train EL_TRAIN carriage 1 handle
 078A: EL_TRAIN_SUB2 = get_train EL_TRAIN carriage 2 handle
 078A: EL_TRAIN_SUB3 = get_train EL_TRAIN carriage 3 handle
          
           speaking_FLAGS = 3
         end
end
 33@ = 0
jump @next 
:boyz_talking

//061D: create_AS_origin_at 950.9462 2114.972 1011.5 Z_angle 180.0 unknown_angle 15.0 AS_pack 206@ handle_as 205@
0615: define_AS_pack_begin seT_jack_script
05C8: AS_actor -1 look_around
0823: AS_actor -1 greet_actor jimmy_actor 0.5 1
0823: AS_actor -1 greet_actor BOBBY_ACTOR 0.5 1
0A1D: AS_actor -1 rotate_to_and_look_at_actor jimmy_actor
0605: actor -1 perform_animation "prtial_gngtlka" IFP "gangs" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 1400

0616: define_AS_pack_end seT_jack_script


0615: define_AS_pack_begin jimmy_TALKS_SCRIPT
0A1D: AS_actor -1 rotate_to_and_look_at_actor jack_actor

0605: actor -1 perform_animation "prtial_gngtlkb" IFP "gangs" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 1400
05C8: AS_actor -1 look_around

0616: define_AS_pack_end jimmy_TALKS_SCRIPT



0615: define_AS_pack_begin bobby_TELLS_EM
0A1D: AS_actor -1 rotate_to_and_look_at_actor jack_actor
0605: actor -1 perform_animation "DAN_Down_A" IFP "dancing" framedelta 4.0 loop 0 lockX 1 lockY 1 lockF 0 time 2400

0616: define_AS_pack_end bobby_TELLS_EM
return


:next 
const
EL_TARGET = 97@
TAXI = 93@
TAXI_DRIVER = 92@
MARKER_TAXI = 90@
end
marker.CreateAboveCar(EL_TARGET,EL_TRAIN)

car.LockInCurrentPosition(EL_TRAIN,false)
 06DD: set_train EL_TRAIN speed 20.0
 06DC: set_train EL_TRAIN acc 20.0  
 
         0ACD: show_text_lowpriority "Follow the train." time 4000
repeat 
wait 0
gosub @get_van
gosub @check
if
   8205:   not actor $PLAYER_ACTOR near_car EL_TRAIN radius 129.0 129.0 129.0 flag 0


then
           0ACD: show_text_lowpriority "~r~You lost the train." time 4000
      wait 6
  jump @1
end
until   01AF:   car EL_TRAIN sphere 0 in_sphere  9296.6940 8127.5280 22.7114 radius 4.0 4.0 4.0

   wait 100
 06DD: set_train EL_TRAIN speed 0.0
 06DC: set_train EL_TRAIN acc 0.0  
    marker.Disable(EL_TARGET)
car.LockInCurrentPosition(EL_TRAIN,true)

0362: remove_actor  BOBBY_ACTOR from_car_and_place_at 9292.0220 8094.5800 23.8669
0362: remove_actor  JACK_ACTOR from_car_and_place_at  9291.2610 8091.9040 23.8669
0362: remove_actor  JIMMY_ACTOR from_car_and_place_at 9292.0670 8090.6020 23.8669

0792: disembark_instantly_actor BOBBY_ACTOR
0792: disembark_instantly_actor JACK_ACTOR
0792: disembark_instantly_actor JIMMY_ACTOR
                   

          0ACD: show_text_lowpriority "They're getting off the train. Don't kill them or come too close before they'll think your spying on them." time 4000

TAXI = car.Create(#LC_TAXI, 9294.2360 ,8320.2280, 12.7910)   
car.Angle(TAXI) = 0.0
car.DriveTo(taxi,9281.6380, 8082.6410, 4.7822)
04BA: set_car taxi speed_to 20.0
   0687: clear_actor BOBBY_ACTOR  task
   0687: clear_actor JACK_ACTOR  task
   0687: clear_actor JIMMY_ACTOR  task
// AS_actor JACK_ACTOR walk_around_ped_path
// AS_actor JIMMY_ACTOR walk_around_ped_path
// AS_actor BOBBY_ACTOR walk_around_ped_path
00AE: set_car taxi traffic_behaviour_to 2
03AB: set_car taxi strong 1
01EC: make_car taxi very_heavy 1
   
TAXI_DRIVER = Actor.CreateAsDriver(civmale, #lcs_taxi_d,taxi) {  
   0615: define_AS_pack_begin 159@
   05D3: AS_actor -1 goto_point  9288.9810 8103.8170 23.9111 mode 7 time -1 ms // versionA
   05D3: AS_actor -1 goto_point  9288.9700 8113.0410 18.7381 mode 7 time -1 ms // versionA
   05D3: AS_actor -1 goto_point  9279.6960 8113.0210 13.4970 mode 7 time -1 ms // versionA
   05D3: AS_actor -1 goto_point  9278.7770 8086.3490 4.9306 mode 7 time -1 ms // versionA
    05CA: AS_actor -1  enter_car taxi passenger_seat -1 time 10000
0618: assign_actor JACK_ACTOR to_AS_pack 159@
0618: assign_actor JIMMY_ACTOR to_AS_pack 159@
0618: assign_actor BOBBY_ACTOR to_AS_pack 159@
     061B: remove_references_to_AS_pack 159@
                                                }
    05D7: add_point_to_scmpath  9288.9810 8103.8170 23.9111 
    05D7: add_point_to_scmpath  9288.9700 8113.0410 18.7381 
    05D7: add_point_to_scmpath  9279.6960 8113.0210 13.4970 
    05D7: add_point_to_scmpath  9278.7770 8086.3490 4.9306
       
05D8: AS_assign_scmpath to_actor JACK_ACTOR flags 6 0
05D8: AS_assign_scmpath to_actor JIMMY_ACTOR flags 6 0
05D8: AS_assign_scmpath to_actor BOBBY_ACTOR flags 6 0
077A: set_actor bobby_actor acquaintance 3 to_actors_pedtype 0 // see ped.dat
077A: set_actor jack_actor acquaintance 3 to_actors_pedtype 0 // see ped.dat
077A: set_actor jimmy_actor acquaintance 3 to_actors_pedtype 0 // see ped.dat
   

32@ = 0 
33@ = 0  

wait 3000
car.LockInCurrentPosition(EL_TRAIN,false)
 06DD: set_train EL_TRAIN speed 30.0
 06DC: set_train EL_TRAIN acc 30.0  
 
 IF AND
   056E:   car EL_TRAIN_SUB defined
   056E:   car EL_TRAIN_SUB2 defined
   056E:   car EL_TRAIN_SUB3 defined
THEN
 07BE: remove_references_to_train EL_TRAIN_SUB
 07BE: remove_references_to_train EL_TRAIN_SUB3
 07BE: remove_references_to_train EL_TRAIN_SUB2

END

 07BE: remove_references_to_train EL_TRAIN
//061B: remove_references_to_AS_pack 155@
06D7: enable_train_traffic 1
0638: AS_actor jimmy_actor stay_put 1
0638: AS_actor bobby_actor stay_put 1
0638: AS_actor jack_actor stay_put 1

while true
wait 0 
gosub @PHOTO_SHOT
gosub @get_van
gosub @check

IF OR
0205:   actor jimmy_actor near_car TAXI radius 5.0 5.0 5.0 flag 0
0205:   actor bobby_actor near_car TAXI radius 5.0 5.0 5.0 flag 0
0205:   actor jack_actor near_car TAXI radius 5.0 5.0 5.0 flag 0

THEN
05CA: AS_actor jimmy_actor enter_car TAXI passenger_seat 0 time -1
05CA: AS_actor bobby_actor enter_car TAXI passenger_seat 1 time -1
05CA: AS_actor jack_actor enter_car TAXI passenger_seat 2 time -1
  BREAK
END
        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You are suppose to wait for the target to enter the taxi." time 4000
        wait 6
                gosub @WEAPON_BLOWNER
        jump @1
        end
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 5.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 5.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 5.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000

          wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
 end
end       

while true
wait 0
gosub @PHOTO_SHOT
gosub @get_van
gosub @check
        if   and
         actor.InCar(jack_actor,taxi)
         actor.InCar(jimmy_actor,taxi)
         actor.InCar(bobby_actor,taxi)
        then
        car.driveto(taxi,9293.1370, 7777.3760, 14.7827)
           break
        end
        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You kill one of them!" time 4000
        wait 6
                gosub @WEAPON_BLOWNER
        jump @1
        end
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000

          wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
 end
end  
//061B: remove_references_to_AS_pack 155@
marker.CreateAboveCar(77@,taxi)
00AE: set_car taxi traffic_behaviour_to 2
 0ACD: show_text_lowpriority "Follow the ~r~Taxi~w~ were it's going to." time 4000
repeat
wait 0
gosub @get_van
gosub @check
        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You are suppose to wait for the target." time 4000
        wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
        end
   if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000
                   gosub @WEAPON_BLOWNER
          wait 6
        
        jump @1
 end
if
   8205:   not actor $PLAYER_ACTOR near_car taxi radius 70.0 70.0 70.0 flag 0


then
           0ACD: show_text_lowpriority "~r~You lost the target." time 4000
      wait 6
  jump @1
end
until   01AF:   car taxi sphere 0 in_sphere 9293.1370 7777.3760 14.7827 radius 3.0 3.0 3.0
marker.Disable(77@)
01B4: set_player $PLAYER_CHAR can_move 0
02A3: enable_widescreen 1
// text_clear_all
//stupid ai  
0615: define_AS_pack_begin 155@
0633: AS_actor -1 exit_car
05D3: AS_actor -1 goto_point 9273.6550 7779.9320 14.9153 mode 6 time -1 ms // versionA
05D3: AS_actor -1 goto_point 9234.2730 7779.8450 2.1224 mode 6 time -1 ms // versionA

0618: assign_actor bobby_actor to_AS_pack 155@
0618: assign_actor jimmy_actor to_AS_pack 155@
0618: assign_actor jack_actor to_AS_pack 155@
061B: remove_references_to_AS_pack 155@

015F: set_camera_position 9275.6930 7774.7570 14.8851 rotation 0.0 0.0 0.0
0160: set_camera_point_at 9293.1370 7777.3760 14.7827 switchstyle 2
//0159: camera_on_ped jack_actor mode 4 switchstyle 2
const
TRAIN_underground = 88@
Marker_train2 = 78@


end
06DB: destroy_all_trains 
06D7: enable_train_traffic 0 
wait 3
06D8: TRAIN_underground = create_train_at 9158.8620 7724.4230 -19.9357 type 19 direction 0
06DC: set_train TRAIN_underground acc 20.0
06DD: set_train TRAIN_underground speed 20.0

wait 2000
//04C4: store_coords_to 350@ 351@ 352@ from_actor bobby_actor with_offset 0.0 4.0 0.0

0362: put_actor bobby_actor at 9171.7450 7792.1480 -20.8550
0362: put_actor jimmy_actor at 9172.2870 7789.9680 -20.8654
0362: put_actor jack_actor at  9171.3930 7788.3130 -20.8564
05D3: AS_actor bobby_actor goto_point 9164.8520 7788.2600 -18.8528 mode 6 time -1 ms // versionA
05D3: AS_actor jimmy_actor goto_point 9164.3570 7790.2890 -18.8562 mode 6 time -1 ms // versionA
05D3: AS_actor jack_actor goto_point 9163.5750 7792.0820 -18.8593 mode 6 time -1 ms // versionA

015F: set_camera_position 9174.6630 7790.2580 -18.8537 rotation 0.0 0.0 0.0
0160: set_camera_point_at  9158.5150 7785.9290 -18.8537 switchstyle 2

repeat
wait 0
gosub @check

until    01AF:   car TRAIN_underground sphere 0 in_sphere 9161.5440 7808.8390 -19.9297 radius 9.0 9.0 9.0
//car.LockInCurrentPosition(TRAIN_underground, true)
06DC: set_train TRAIN_underground acc 0.0
06DD: set_train TRAIN_underground speed 0.0
wait 2000

fade 0 1000
wait 1000
fade 1 1000
car.DriveTo(taxi, 9380.1480, 8074.6030, 12.9368)
actor.DestroyInstantly(jimmy_actor)
actor.DestroyInstantly(bobby_actor)
actor.DestroyInstantly(jack_actor)
actor.RemoveReferences(TAXI_DRIVER)
car.RemoveReferences(taxi)

03E5: show_text_box '_ckpt'  // Respect can be earned be passing certain missions, killing rival gangs members, gaining territory and tagging.

checkpoint_flag_X = 1

:CHECKPOINT_2_DOWNTOWN
if 

856E: not  car TRAIN_underground defined
then
06D8: TRAIN_underground = create_train_at 9158.8620 7724.4230 -19.9357 type 19 direction 0


end
if
856E: not  car car_black_vanX defined
then
 0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 9287.5070 7779.8330 14.9311 
 wait 1
00A5: car_black_vanX = create_car #LC_PONY at 9292.7620 7780.4770 14.7827
0229: set_car car_black_vanX primary_color_to 1 secondary_color_to 1
car.Health(car_black_vanX) = 3000
car.Angle(car_black_vanX) = 55.5869
marker.CreateAboveCar(players_Van_MARKER, car_black_vanX)
//marker.SetColor(players_Van_MARKER,2)
07E0: set_marker players_Van_MARKER type_to 1
036A: put_actor $PLAYER_ACTOR in_car car_black_vanX
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, camera, 30)
actor.GiveWeaponAndAmmo($PLAYER_ACTOR, snipeR_laser, 30)
end
//$PHOTO_BOBBY = $PHOTO_BOBBY
01B4: set_player $PLAYER_CHAR can_move 1
02A3: enable_widescreen 0
camera.Restore_WithJumpCut()
marker.CreateAboveCar(Marker_train2, TRAIN_underground)

//car.LockInCurrentPosition(TRAIN_underground, false)

06DC: set_train TRAIN_underground acc 10.0
06DD: set_train TRAIN_underground speed 10.0
0ACD: show_text_lowpriority "Security cameras inside the station - auto-detect any ~r~weapons~w~, follow the train that's linking to the island." time 4000
       //  0ACD: show_text_lowpriority "This too risky to drive down there, take the bridge where they're gonna get downtown to their apartments." time 4000


while true
wait 0
gosub @get_van
gosub @check
if
/////////00A3:   actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA 9179.4870 7753.3630  cornerB 9202.9400 7824.2310  
01A3:   actor $PLAYER_ACTOR sphere 0 in_rectangle_cornerA   9235.2180 7766.2660   cornerB 9197.8960 7805.3560  

then
         0ACD: show_text_lowpriority "~r~You got a Security camera spotting you, know the target is going to know your are about to assinate them." time 4000
  010D: set_player $PLAYER_CHAR wanted_level_to 3
wait 5
jump @1
end

        if
           01AF:   car TRAIN_underground sphere 0 in_sphere  8466.6530 8075.5080 -10.8253  radius 9.0 9.0 9.0
        then
                 0ACD: show_text_lowpriority "The train has reach to it's destination." time 4000
        06DD: set_train TRAIN_underground speed 0.0
      06DC: set_train TRAIN_underground acc 0.0

            break
        end
end
0167: 1000@ = create_marker_at 8444.3300 8188.0480 21.0829 color 4 flag 2
marker.SetIconSize(1000@,2)
repeat
wait 0
gosub @get_van
gosub @check

until 00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere 8444.3300 8188.0480 21.0829  radius 9.0 9.0 9.0
IF
075C:   marker 1000@ enabled
THEN
MARKER.Disable(1000@)
END
06DB: destroy_all_trains
06D7: enable_train_traffic 1

009A: BOBBY_ACTOR = create_actor_pedtype 29 model #WMYBMX at 8481.6120 8163.1480 15.6416
009A: jack_actor = create_actor_pedtype 29 model #omyst at 8483.0530 8164.4840 16.1154
009A: jimmy_actor = create_actor_pedtype 29 model #wbdyg2 at 8480.6040 8165.2900 16.4013
ACTOR.Health(BOBBY_ACTOR) = 1000
ACTOR.Health(jack_actor) = 1000
ACTOR.Health(jimmy_actor) =  1000
ACTOR.GiveWeaponAndAmmo(jimmy_actor,UG_HK416,99999)
ACTOR.GiveWeaponAndAmmo(jack_actor,UG_MP40,99999)
ACTOR.GiveWeaponAndAmmo(BOBBY_ACTOR,microuzi,99999)
081A: set_actor BOBBY_ACTOR weapon_skill_to 2
07DD: set_actor BOBBY_ACTOR attack_rate 76 // previously known as temper_to
07DD: set_actor jack_actor attack_rate 76 // previously known as temper_to
07DD: set_actor jimmy_actor attack_rate 76 // previously known as temper_to
06AB: set_actor jack_actor all_weapons_hidden true
06AB: set_actor BOBBY_ACTOR all_weapons_hidden true
06AB: set_actor jimmy_actor all_weapons_hidden true

         0ACD: show_text_lowpriority "Wait for the target to enter the taxi." time 4000

TAXI = car.Create(#LC_TAXI, 8365.1430 ,8154.3970 ,15.9750)   
car.Angle(TAXI) = 90.0
car.DriveTo(taxi, 8480.7810, 8189.8520, 20.8941)
04BA: set_car taxi speed_to 20.0

00AE: set_car taxi traffic_behaviour_to 2
03AB: set_car taxi strong 1
01EC: make_car taxi very_heavy 1
   
TAXI_DRIVER = Actor.CreateAsDriver(civmale, #lcs_taxi_d,taxi)

05D3: AS_actor JIMMY_ACTOR goto_point 8482.3160 8185.4850 20.9963 mode 4 time -1 ms // versionA
05D3: AS_actor BOBBY_ACTOR goto_point 8482.3160 8185.4850 20.9963 mode 4 time -1 ms // versionA
05D3: AS_actor JACK_ACTOR goto_point 8482.3160 8185.4850 20.9963 mode 4 time -1 ms // versionA



repeat 
wait 0
gosub @get_van
gosub @check

        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You are suppose to wait for the target." time 4000
        wait 6
                gosub @WEAPON_BLOWNER
        jump @1
        end
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor bobby_actor radius 15.0 15.0 15.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000

          wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
 end
until  0205:   actor JACK_ACTOR near_car TAXI radius 18.0 18.0 18.0 flag 0

05CA: AS_actor bobby_actor  enter_car taxi passenger_seat 0 time -1
05CA: AS_actor jimmy_actor  enter_car taxi passenger_seat 1 time -1
05CA: AS_actor jack_actor  enter_car taxi passenger_seat 2 time -1

while true
wait 0
gosub @get_van
gosub @check
if
   8205:   not actor $PLAYER_ACTOR near_car taxi radius 70.0 70.0 70.0 flag 0


then
           0ACD: show_text_lowpriority "~r~You lost the target." time 4000
      wait 6
  jump @1
end
        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You are suppose to wait for the target." time 4000
        wait 6
                gosub @WEAPON_BLOWNER
        jump @1
        end
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor bobby_actor radius 15.0 15.0 15.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000

          wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
 end
  if and
  actor.InCar(jimmy_actor,taxi)
  actor.InCar(bobby_actor,taxi)
  actor.InCar(jack_actor,taxi)
  then
    break
  end
end
         0ACD: show_text_lowpriority "Now follow the ~r~taxi~w~ where it's headed to." time 4000
marker.CreateAboveCar(182@,taxi)
car.DriveTo(TAXI,8556.3460, 7844.4120 ,24.0772)


   {
const
255@
256@
257@
258@
259@
260@
261@
262@
end  }
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 1
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 8

009A: 255@ = create_actor_pedtype 29 model #AT_AAP1 at  8558.6860 7837.9850 24.1072
009A: 256@ = create_actor_pedtype 29 model #AT_AAP2 at  8555.1350 7838.1960 24.2730
009A: 257@ = create_actor_pedtype 29 model #AT_AAP3 at  8552.3780 7808.0190 25.9876
009A: 258@ = create_actor_pedtype 29 model #AT_AAP2 at  8557.7160 7782.0520 23.7110
009A: 259@ = create_actor_pedtype 29 model #AT_AAP1 at  8535.2850 7790.7620 25.9818
009A: 260@ = create_actor_pedtype 29 model #AT_AAP2 at  8536.5070 7806.8510 25.9805
009A: 261@ = create_actor_pedtype 29 model #AT_AAP3 at 8546.3600 7784.3960 25.0669 
009A: 262@ = create_actor_pedtype 29 model #AT_AAP1 at  8517.2190 7777.0660 26.1177
009A: 263@ = create_actor_pedtype 29 model #AT_AAP1 at 8516.8490 7771.6410 26.1203
actor.Angle(262@)  = 90.0
actor.Angle(263@)  = 90.0
actor.GiveWeaponAndAmmo(255@,LCS_uzi  , 99999)
actor.GiveWeaponAndAmmo(256@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(257@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(258@, LCS_uzi , 99999)
actor.GiveWeaponAndAmmo(259@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(260@,  LCS_Shotgun, 99999)
actor.GiveWeaponAndAmmo(261@, LCS_uzi , 99999)
actor.GiveWeaponAndAmmo(262@, LCS_Shotgun , 99999)
actor.GiveWeaponAndAmmo(263@, LCS_uzi , 99999)
07DD: set_actor 255@ attack_rate 50 // previously known as temper_to
07DD: set_actor 256@ attack_rate 50 // previously known as temper_to
07DD: set_actor 257@ attack_rate 50 // previously known as temper_to
07DD: set_actor 258@ attack_rate 50 // previously known as temper_to
07DD: set_actor 259@ attack_rate 50 // previously known as temper_to
07DD: set_actor 260@ attack_rate 50 // previously known as temper_to
07DD: set_actor 261@ attack_rate 50 // previously known as temper_to
07DD: set_actor 262@ attack_rate 50 // previously known as temper_to
07DD: set_actor 263@ attack_rate 50 // previously known as temper_to

repeat 
wait 0 
gosub @get_van
gosub @check
        if  or
        actor.Dead(jimmy_actor)
        actor.Dead(bobby_actor)
        actor.Dead(jack_actor)
        actor.Dead(TAXI_DRIVER)
        car.Wrecked(TAXI)
        then
          0ACD: show_text_lowpriority "~r~You kill one of them, you won't get any imformations of that code." time 4000
        wait 6
                gosub @WEAPON_BLOWNER
        jump @1
        end
 if or
 0104:   actor $PLAYER_ACTOR near_actor jimmy_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor jack_actor radius 15.0 15.0 15.0 sphere 0
 0104:   actor $PLAYER_ACTOR near_actor bobby_actor radius 15.0 15.0 15.0 sphere 0

 then
           0ACD: show_text_lowpriority "~r~You spook them!" time 4000

          wait 6
                  gosub @WEAPON_BLOWNER
        jump @1
 end

until  0100:   actor TAXI_DRIVER in_sphere 8556.3460 7844.4120 24.0772  radius 6.0 6.0 6.0 sphere 0 in_car
marker.Disable(182@)    
01B4: set_player $PLAYER_CHAR can_move 0
02A3: enable_widescreen 1
0638: AS_actor 255@ stay_put 1
0638: AS_actor 256@ stay_put 1

015F: set_camera_position  8549.2080 7850.2990 25.3628 rotation 0.0 0.0 0.0
0160: set_camera_point_at   8556.0860 7841.2680 24.2483 switchstyle 2
wait 500
0633: AS_actor jimmy_actor  exit_car
0633: AS_actor jack_actor  exit_car
0633: AS_actor bobby_actor  exit_car
wait 100
05D3: AS_actor jimmy_actor goto_point 8555.6700 7774.9030 24.2718 mode 4 time -1 ms // versionA
05D3: AS_actor bobby_actor goto_point 8555.6700 7774.9030 24.2718 mode 4 time -1 ms // versionA
05D3: AS_actor jack_actor goto_point 8555.6700 7774.9030 24.2718 mode 4 time -1 ms // versionA
           0ACD: show_text_lowpriority "These guys have crews surrounding the building. You must takeout the crew members." time 4000

wait 2000
//015F: set_camera_position  8549.2080 7850.2990 25.3628 rotation 0.0 0.0 0.0
0160: set_camera_point_at 8570.1960 7845.1660 23.4858 switchstyle 1

05D1: AS_actor TAXI_DRIVER drive_car taxi to 8705.3500 7845.5450 21.2718 speed 65.0 2 model #NULL 5
0982: set_actor TAXI_DRIVER stay_in_car_when_dead 1

05E2: AS_actor 255@ kill_actor TAXI_DRIVER
05E2: AS_actor 256@ kill_actor TAXI_DRIVER
wait 1000
0321: AS_actor TAXI_DRIVER die_headshotted
05BE: AS_actor TAXI_DRIVER die
020B: explode_car taxi
08CB: explode_car taxi shake 1 effect 1 sound 1
car.Health(taxi) = 0
wait 2000  
01B4: set_player $PLAYER_CHAR can_move 1
02A3: enable_widescreen 0
camera.Restore_WithJumpCut()
0638: AS_actor 255@ stay_put 0
0638: AS_actor 256@ stay_put 0
actor.DestroyInstantly(jimmy_actor)                
actor.DestroyInstantly(bobby_actor)                
actor.DestroyInstantly(jack_actor) 
car.RemoveReferences(taxi)
actor.RemoveReferences(taxi_driver)

700@ = car.Create(#HUNTLEY,8530.7700 ,7803.1830 ,25.9818 )
car.Angle(700@) = 90.0
           0ACD: show_text_lowpriority "Head to their ~y~apartment." time 4000
const
trap = 292@

end
trap = 0
repeat 
wait 0
gosub @check
if and
trap == 0 
00FE:   actor $PLAYER_ACTOR sphere 0 in_sphere 8545.2140 7778.1360 25.1731 radius 15.0 15.0 15.0

then

009A: 264@ = create_actor_pedtype 29 model #AT_AAP1 at 8581.6460 7786.6610 23.0661
009A: 265@ = create_actor_pedtype 29 model #AT_AAP2 at 8585.7970 7786.8270 22.5367
009A: 266@ = create_actor_pedtype 29 model #AT_AAP3 at 8599.8910 7766.7020 20.7000
009A: 267@ = create_actor_pedtype 29 model #AT_AAP2 at 8612.9930 7778.0940 20.0228
009A: 268@ = create_actor_pedtype 29 model #AT_AAP3 at 8612.4810 7772.8360 19.9400
009A: 269@ = create_actor_pedtype 29 model #AT_AAP1 at 8593.0680 7786.7040 21.6016
actor.GiveWeaponAndAmmo(264@,LCS_uzi  , 99999)
actor.GiveWeaponAndAmmo(266@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(265@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(268@, LCS_uzi , 99999)
actor.GiveWeaponAndAmmo(269@, LCS_ak47 , 99999)
actor.GiveWeaponAndAmmo(267@,  LCS_Shotgun, 99999)
05E2: AS_actor 264@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 265@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 266@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 267@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 268@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 269@ kill_actor $PLAYER_ACTOR

trap = 1
end


until  0102:   actor $PLAYER_ACTOR in_sphere 8539.8530 7818.3950 25.9805 radius 3.2 3.2 3.0 sphere 1 stopped_on_foot

:LAST_CHECKPOINT
if
856E: not  car car_black_vanX defined
then
 wait 1
00A5: car_black_vanX = create_car #LC_PONY at 9292.7620 7780.4770 14.7827
0229: set_car car_black_vanX primary_color_to 1 secondary_color_to 1
car.Health(car_black_vanX) = 3000
car.Angle(car_black_vanX) = 55.5869
marker.CreateAboveCar(players_Van_MARKER, car_black_vanX)
//marker.SetColor(players_Van_MARKER,2)
07E0: set_marker players_Van_MARKER type_to 1


end
 selecT_interior 7
 0860: link_actor $PLAYER_ACTOR to_interior 7
00A1: put_actor $PLAYER_ACTOR at 288.9477 -430.0363 1023.8860
actor.Angle($PLAYER_ACTOR) = 96.0
const
TARGET_BOBBY = 314@
TARGET_JACK = 315@
TARGET_Jimmy =   316@

end
 04ED: load_animation  "BOMBER"
04ED: load_animation  "Attractors"
04ED: load_animation  "BAR"

               //BOM_Plant_Loop
fade 0 800
wait 800
fade 1 800

 
 
 009A: TARGET_BOBBY = create_actor_pedtype 29 model #WMYBMX at 280.4225 -422.3110 1023.8860 
009A: TARGET_Jimmy = create_actor_pedtype 29 model #wbdyg2 at 294.8010 -425.3049 1023.8860 
009A: TARGET_JACK = create_actor_pedtype 29 model #omyst at 286.0552 -439.7527 1023.8940
actor.Angle(TARGET_JACK) = 187.0   //========make jack doing the kitchen
actor.Angle(TARGET_BOBBY) = 32.0   //---bobby watching tv
actor.Angle(TARGET_Jimmy) = 271.0   //---jimmy sitting on bed.
0605: actor TARGET_BOBBY perform_animation "BOM_Plant_Loop" IFP "bomber" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
0605: actor TARGET_Jimmy perform_animation "Stepsit_loop" IFP "Attractors" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1
0605: actor TARGET_JACK perform_animation "dnk_stndM_loop" IFP "BAR" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1


0746: set_acquaintance 3 of_actors_pedtype 29 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 1



ACTOR.Health(TARGET_Jimmy) = 1000
ACTOR.Health(TARGET_BOBBY) = 1000
ACTOR.Health(TARGET_JACK) =  1000
ACTOR.GiveWeaponAndAmmo(TARGET_Jimmy,UG_HK416,99999)
ACTOR.GiveWeaponAndAmmo(TARGET_JACK,UG_MP40,99999)
ACTOR.GiveWeaponAndAmmo(TARGET_BOBBY,microuzi,99999)

081A: set_actor TARGET_BOBBY weapon_skill_to 2

07DD: set_actor TARGET_BOBBY attack_rate 88 // previously known as temper_to
07DD: set_actor TARGET_JACK attack_rate 88 // previously known as temper_to
07DD: set_actor TARGET_Jimmy attack_rate 88 // previously known as temper_to

06AB: set_actor TARGET_Jimmy all_weapons_hidden true
06AB: set_actor TARGET_BOBBY all_weapons_hidden true
06AB: set_actor TARGET_JACK all_weapons_hidden true        

0ACD: show_text_highpriority "Now quietly take a photo of ~r~Bobby~w~." time 4000


REPEAT 
WAIT 0
GOSUB @CHECK
IF OR
02E0:   actor TARGET_JACK firing_weapon 
02E0:   actor TARGET_Jimmy firing_weapon 
02E0:   actor TARGET_BOBBY firing_weapon 
//0364:   actor TARGET_Jimmy spotted_actor $PLAYER_ACTOR
//0364:   actor TARGET_BOBBY spotted_actor $PLAYER_ACTOR
//0364:   actor TARGET_JACK spotted_actor $PLAYER_ACTOR

THEN
06AB: set_actor TARGET_Jimmy all_weapons_hidden FALSE
06AB: set_actor TARGET_BOBBY all_weapons_hidden FALSE
06AB: set_actor TARGET_JACK all_weapons_hidden FALSE  
05E2: AS_actor TARGET_BOBBY kill_actor $PLAYER_ACTOR
05E2: AS_actor TARGET_Jimmy kill_actor $PLAYER_ACTOR
05E2: AS_actor TARGET_JACK kill_actor $PLAYER_ACTOR
0ACD: show_text_highpriority "~r~You got spotted!" time 4000
//break
WAIT 10
JUMP @1
END

UNTIL  04C5:   actor TARGET_BOBBY photographed
077A: set_actor TARGET_Jimmy acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor TARGET_BOBBY acquaintance 4 to_actors_pedtype 0 // see ped.dat
077A: set_actor TARGET_JACK acquaintance 4 to_actors_pedtype 0 // see ped.dat

wait 50
0635: AS_actor TARGET_BOBBY aim_at_actor $PLAYER_ACTOR 2000 ms
015D: set_gamespeed 0.5

wait 500
052C: set_player $PLAYER_CHAR drunk_visuals 15
0ACD: show_text_highpriority "Now the their room location is found - ~r~Now kill the targets!" time 4000

015D: set_gamespeed 0.3
01B2: give_actor $PLAYER_ACTOR weapon snipeR_laser ammo 10 // Load the weapon model before using this
0638: AS_actor TARGET_BOBBY stay_put 1
0638: AS_actor TARGET_JACK stay_put 1
0638: AS_actor TARGET_Jimmy stay_put 1
//actor.LockInCurrentPosition($PLAYER_ACTOR,true)        
06AB: set_actor TARGET_Jimmy all_weapons_hidden FALSE
06AB: set_actor TARGET_BOBBY all_weapons_hidden FALSE
06AB: set_actor TARGET_JACK all_weapons_hidden FALSE  
05E2: AS_actor TARGET_BOBBY kill_actor $PLAYER_ACTOR
05E2: AS_actor TARGET_Jimmy kill_actor $PLAYER_ACTOR
05E2: AS_actor TARGET_JACK kill_actor $PLAYER_ACTOR
00A1: put_actor TARGET_Jimmy at 288.7826 -424.9457 1023.8940
actor.Angle(TARGET_Jimmy) = 90.0
00A1: put_actor TARGET_JACK at  281.7868 -431.7559 1023.8860
actor.Angle(TARGET_JACK) = 137.0
03FE: set_actor TARGET_JACK money 242
03FE: set_actor TARGET_Jimmy money 68
03FE: set_actor TARGET_BOBBY money 641

32@  = 0 
 while true
 wait 0
gosub @CHECK
  if and
  actor.Dead(TARGET_BOBBY)
  actor.Dead(TARGET_Jimmy)
  actor.Dead(TARGET_JACK)
  then
 // actor.LockInCurrentPosition($PLAYER_ACTOR,false)  
   break
  end
 
 end
// shake_camera 21
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 0
0746: set_acquaintance 4 of_actors_pedtype 29 to_actors_pedtype 1

 052C: set_player $PLAYER_CHAR drunk_visuals 0
  015D: set_gamespeed 1.0   
  04EF: release_animation "Attractors"
04EF: release_animation "BOMBER"
04EF: release_animation "BAR"  

 fade 0 800
wait 800
fade 1 800
 selecT_interior 0
 0860: link_actor $PLAYER_ACTOR to_interior 0
actor.DestroyInstantly(TARGET_BOBBY)
actor.DestroyInstantly(TARGET_Jimmy)
actor.DestroyInstantly(TARGET_JACK)

 623@ = car.Create(#HUNTLEY,8510.1520, 7847.3190, 25.9782 )
624@ = actor.CreateAsDriver(29,#AT_AAP1,623@)
625@ = actor.CreateAsPassenger(29,#AT_AAP3,623@,0)
626@ = actor.CreateAsPassenger(29,#AT_AAP1,623@,1)
627@ = actor.CreateAsPassenger(29,#AT_AAP2,623@,2)
actor.GiveWeaponAndAmmo(624@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(625@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(626@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(627@,  LCS_uzi,9999)
0713: actor 625@ driveby_actor $PLAYER_ACTOR  car -1 point 0.0 0.0 0.0  radius 160.0 4 1 firing_rate 90
0713: actor 626@ driveby_actor  $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 160.0 4 1 firing_rate 90
0713: actor 627@ driveby_actor  $PLAYER_ACTOR car -1 point 0.0 0.0 0.0  radius 160.0 4 1 firing_rate 90
car.SetDriverBehaviour(623@, KillThePlayer)



 630@ = car.Create(#HUNTLEY,8502.5110, 7662.8260, 25.9781 )
 car.SetDriverBehaviour(630@, KillThePlayer)
631@ = actor.CreateAsDriver(29,#AT_AAP1,630@)
632@ = actor.CreateAsPassenger(29,#AT_AAP2,630@,0)
633@ = actor.CreateAsPassenger(29,#AT_AAP3,630@,1)
634@ = actor.CreateAsPassenger(29,#AT_AAP1,630@,2)
actor.GiveWeaponAndAmmo(631@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(632@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(633@,  LCS_uzi,9999)
actor.GiveWeaponAndAmmo(634@,  LCS_uzi,9999)
0713: actor 633@ driveby_actor $PLAYER_ACTOR  car -1 point 0.0 0.0 0.0  radius 160.0 4 1 firing_rate 90
0713: actor 632@ driveby_actor  $PLAYER_ACTOR car -1 point 0.0 0.0 0.0 radius 160.0 4 1 firing_rate 90
0713: actor 634@ driveby_actor  $PLAYER_ACTOR car -1 point 0.0 0.0 0.0  radius 160.0 4 1 firing_rate 90
00AE: set_car 630@ traffic_behaviour_to 2
00AE: set_car 623@ traffic_behaviour_to 2
car.SetToPsychoDriver(630@,1)
car.SetToPsychoDriver(623@,1)
car.SetSpeedInstantly(623@, 30.0)
car.SetSpeedInstantly(630@, 30.0)
00A1: put_actor $PLAYER_ACTOR at 8539.7880 7817.9970 25.9805
actor.Angle($PLAYER_ACTOR) = 184.0
010D: set_player $PLAYER_CHAR wanted_level_to 3
0ACD: show_text_highpriority "Now return back to ~y~Portland Beach." time 4000
0167: 1000@ = create_marker_at 9670.6890 8058.1490 50.2959  color 4 flag 2
marker.SetIconSize(1000@, 3)
repeat 
wait 0

gosub @check



until  00FE:   actor $PLAYER_ACTOR sphere 1 in_sphere 9670.6890 8058.1490 50.2959 radius 10.0 10.0 10.0

marker.Disable(1000@) 
0394: play_music 2
0ACB: show_styled_text "mission passed!~n~~w~$25000" time 1000 style 1
0109: player $PLAYER_CHAR money += 25000
checkpoint_flag_X = 0 
0110: clear_player $PLAYER_CHAR wanted_level

:fail
08E7: disable_entrance_markers 0
 052C: set_player $PLAYER_CHAR drunk_visuals 0
  015D: set_gamespeed 1.0
IF
075C:   marker 1000@ enabled
THEN
MARKER.Disable(1000@)
END
//actor.LockInCurrentPosition($PLAYER_ACTOR,false)  
//0151: remove_status_text $PHOTO_BOBBY 
$onmission = 0
mission_cleanup
end_thread
